// pages/goodList/goodList.js
import {findPageGoods} from '../../../../api/goods'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    goodName:'',
    orders:'1',
    isHot:null,
    // 请求参数列表
    reqData:{
      pageIndex: 1,
      pageSize: 10,
      // goodName:'',
      typeId:null,
      // isHot:null,
      goodId:null,
      // orders:'1'
    },
    goodsOptions:[
      { text: '全部商品', value: null },
      { text: '热销商品', value: true },
    ],
    ordersOptions:[
      { text: '默认排序', value: '1' },
      { text: '价格优先', value: '2' },
    ],
    resData:[],
    total: 0,
    isAll: false,
    isLoadding: false //判断数据是否加载完毕
  },

  async findPageGoods(){
    this.data.isLoadding = true;
    let data = await findPageGoods(this.data.reqData)
    this.data.isLoadding = false
    this.setData({
      resData: [...this.data.resData, ...data.records],
      total: data.total
    }) 
  },
  search(){
    this.data.reqData['goodName'] = this.data.goodName
    this.setData({
      "reqData.pageIndex":1,
      resData:[]
    })
    this.findPageGoods()
  },
  onSwitchOrder(){
    this.data.reqData['orders'] = this.data.orders
    this.setData({
      "reqData.pageIndex":1,
      resData:[]
    })
    this.findPageGoods()
  },
  onSwitchHot(){
    this.data.reqData['isHot'] = this.data.isHot
    this.setData({
      "reqData.pageIndex":1,
      resData:[]
    })
    this.findPageGoods()
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    this.setData({
      'reqData.typeId' : options.typeId
    })
    this.findPageGoods()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      "reqData.pageIndex":1,
      resData:[]
    })
    if(this.data.isLoadding) return
    this.findPageGoods()
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  async onReachBottom() {
    if(!this.data.isAll) return;
    this.data.isLoadding = true
    this.setData({
      'reqData.pageIndex': this.data.pageIndex + 1
    })
    // let data = await findPageGoods(this.data.reqData);
    // this.setData({
    //   resData: this.resData.push(data.records),
    //   total: data.total
    // })
    if(this.data.isLoadding) return
    this.findPageGoods()
    if(this.data.resData.length >= data.total){
      this.setData({
        isAll: true
      })
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})